In a computer system which directly associates frame buffers to locations in the main memory ("memory mapped frame buffers"), an application program simply writes bits corresponding to graphical images into a memory mapped frame buffer using the assigned memory address of the frame buffer. In order to display the images, the hardware of a display station need only read from the frame buffer for the graphical images written, without the intervention of the computer system. This is a very efficient approach for executing application programs, since it imposes no operating system overhead cost between the application program and the display, allowing the application program to control the display directly, and to effectuate display in a predictable and timely manner. This approach has allowed such features as animated sequences to be displayed.
However, if such application program is run on a system in which the frame buffer is not directly mapped into memory, the prior art method for allowing the application program to run on this system is to have the processor (CPU) executing the application program recognize ("trap") every attempt to write into the address space assigned to the frame buffer, and handle the attempt to write into the address space as an exception condition. When such an attempt to write is trapped, the processor will execute code designed to provide the same effects ("emulate") as if the application program is executed on a memory mapped frame buffer system. Emulation incurs great overhead time cost, since dozens or even hundreds of instructions may be necessary to emulate one write instruction that the native machine, i.e. one which memory maps frame buffers, would use to write one pixel. As a result, such emulation inevitably causes the application to run extremely slowly.
In particular, for application programs designed for the MS-DOS operating system ("MS-DOS application programs"), which expect a memory mapped frame buffer system, such as implemented in the IBM PC.TM..sup.2 personal computers, the overhead cost of handling the display requirement under emulation can cause them to run very slowly. A number of commercial products have been developed to allow MS-DOS application programs to run on other CPUs without a memory mapped frame buffer system. A popular method is the centralized multiuser system, running a MS-DOS application on behalf of a remotely connected client terminal over a communication line, which is at a speed below that necessary to support video transmission. In such centralized multiuser system, the operating system traps a frame buffer write operation of the application program and emulates the display by translating the frame buffer write operation into a control sequence which can be transmitted at low speed to the remote terminal. Nevertheless, even if the connection is over a high speed network, the network overhead time cost still results in a relatively low speed transfer from the CPU to the remote display. FNT 2 IBM PC is a Trademark of International Business Machines, Inc., New York.